package com.bh.shipment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bh.shipment.domain.JcShipment;
import com.bh.shipment.domain.JcVehicleArrive;

import java.util.List;

/**
 * 车辆到站Service接口
 *
 * @author slx
 * @date 2023-04-24
 */
public interface IJcVehicleArriveService extends IService<JcVehicleArrive> {
    /**
     * 查询车辆到站
     *
     * @param id 车辆到站主键
     * @return 车辆到站
     */
    public JcVehicleArrive selectJcVehicleArriveById(Long id);

    /**
     * 查询车辆到站列表
     *
     * @param jcVehicleArrive 车辆到站
     * @return 车辆到站集合
     */
    public List<JcVehicleArrive> selectJcVehicleArriveList(JcVehicleArrive jcVehicleArrive);

    /**
     * 查询车辆到站列表
     *
     * @param jcShipmentId 车辆到站
     * @return 车辆到站集合
     */
    public List<JcVehicleArrive> selectJcVehicleArriveByShipmentId(Long jcShipmentId, Long nowOrgId);

    /**
     * 新增车辆到站
     *
     * @param jcVehicleArrive 车辆到站
     * @return 结果
     */
    public int insertJcVehicleArrive(JcVehicleArrive jcVehicleArrive);

    /**
     * 修改车辆到站
     *
     * @param jcVehicleArrive 车辆到站
     * @return 结果
     */
    public int updateJcVehicleArrive(JcVehicleArrive jcVehicleArrive);

    /**
     * 批量删除车辆到站
     *
     * @param ids 需要删除的车辆到站主键集合
     * @return 结果
     */
    public int deleteJcVehicleArriveByIds(Long[] ids);

    /**
     * 删除车辆到站信息
     *
     * @param id 车辆到站主键
     * @return 结果
     */
    public int deleteJcVehicleArriveById(Long id);

    /**
     * 到达操作
     *
     * @param jcShipmentIds
     * @return
     */
    public int saveVehicleArrive(Long[] jcShipmentIds);

    /**
     * 车辆再次发运时间
     *
     * @param jcVehicleArrive
     * @return
     */
    public boolean saveShippingTime(JcVehicleArrive jcVehicleArrive);

    /**
     * 车辆再次发运时间
     *
     * @param jcVehicleArrive
     * @return
     */
    public boolean saveArriveTime(JcVehicleArrive jcVehicleArrive);


    public String getVehiclePrint(Long jcShipmentId);
}
